package marketplace.componente.transacciones;


import java.io.Serializable;
import java.util.ArrayList;

import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;


import marketplace.componente.usuarios.AdminUsuariosRemote;
import marketplace.entities.Transaccion;

import marketplace.objects.*;



//java:global/EnterpriseMarketplaceProject/ComponenteTransacciones/SistemaTransacciones
/**
 * Session Bean implementation class SistemaTransacciones
 */
@Stateless
public class SistemaTransacciones implements SistemaTransaccionesRemote 
{
	//ATRIBUTOS
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@PersistenceContext(unitName="MarketPlacePersistenceComponent")
	private EntityManager em;
	
	@EJB
	private AdminUsuariosRemote adminUsuarios;
	
	
	//CONSTRUCTORES
	
    /**
     * Default constructor. 
     */
    public SistemaTransacciones() 
    {
        // TODO Auto-generated constructor stub
    }

    
    //METODOS
	@Override
	public void registrarTransacciones(ArrayList<TransaccionBO> transacciones) 
	{
		// TODO Auto-generated method stub
		
		
		
		for(TransaccionBO x:transacciones)
		{
			Transaccion tran = new Transaccion(x);
			em.persist(tran);
		}
			
	}

	@Override
	public ArrayList<TransaccionBO> consultarTransaccionesCliente(String loginCliente) 
	{
		// TODO Auto-generated method stub
		ClienteBO cl = adminUsuarios.consultarCliente(loginCliente);
			
		return cl.getTransacciones();
	}

	@Override
	public ArrayList<TransaccionBO> consultarTransaccionesProveedor(String loginProveedor) 
	{
		// TODO Auto-generated method stub
		
		ProveedorBO prov = adminUsuarios.consultarProveedor(loginProveedor);
		
		return prov.getTransacciones();
	}

	@Override
	public TransaccionBO consultarTransaccion(long id) 
	{
		// TODO Auto-generated method stub
		
		TransaccionBO temp = new TransaccionBO((Transaccion)em.find(Transaccion.class, id));
		return temp;
	}

}
